/**
 * @file hello.cpp
 * @author tangjf (ryontang@163.com)
 * @brief  hj29字符串加解密
 * @version 0.1
 * @date 2020-09-01
 * 主要思路：
 * 1. 查表法
 * @copyright Copyright (c) 2020
 * 
 */

#include <iostream>
#include <vector>
#include <string>
using namespace std;

string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; // 明文字典
string b = "bcdefghijklmnopqrstuvwxyzaBCDEFGHIJKLMNOPQRSTUVWXYZA1234567890"; // 加密字典

string setPwd(string str)
{
  int len = str.size();
  for (int i = 0; i < len; i++)
  {
    for (int j = 0; j < a.size(); j++)
    { // 就直接去明文字典里面去找索引j
      if (str[i] == a[j])
      {
        // 找到索引后，直接去对应的 加密字典找到加密字母
        str[i] = b[j];
        break;
      }
    }
  }
  return str;
}

string getPwd(string str) // 根据密文，找到加密前的字符串
{
  int len = str.size();
  for (int i = 0; i < len; i++)
  {
    for (int j = 0; j < b.size(); j++)
    { // 在密文字典找索引
      if (str[i] == b[j])
      { // 找到索引
        // 去明文字典提取相应索引的字母
        str[i] = a[j];
        break;
      }
    }
  }
  return str;
}

int main()
{
  string str1, str2;
  string pwdGet, pwdSet;

  while (cin >> str1 >> str2)
  {
    pwdSet = setPwd(str1); // str1需要加密
    pwdGet = getPwd(str2); // str2需要加密
    cout << pwdSet << endl;
    cout << pwdGet << endl;
  }
  return 0;
}